home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / WebSites / MailingLists / AMOSLIST.0699 / 000129_nobody_Wed Jun 30 13:52:35 1999.msg < prev    next >
Internet Message Format  |  1999-07-02  |  3KB

  1. Received: from onelist.com (pop.onelist.com [209.207.164.31])
  2.     by osf1.gmu.edu (8.8.8/8.8.8) with SMTP id NAA27447
  3.     for <mcox4@osf1.gmu.edu>; Wed, 30 Jun 1999 13:52:34 -0400 (EDT)
  4. Received: (qmail 32394 invoked by alias); 30 Jun 1999 17:52:07 -0000
  5. Received: (qmail 32360 invoked from network); 30 Jun 1999 17:52:06 -0000
  6. Received: from unknown (HELO web905.mail.yahoo.com) (128.11.23.80) by pop.onelist.com with SMTP; 30 Jun 1999 17:52:06 -0000
  7. Message-ID: <19990630175229.23047.rocketmail@web905.mail.yahoo.com>
  8. Received: from [62.188.134.243] by web905.mail.yahoo.com; Wed, 30 Jun 1999 18:52:29 BST
  9. Date: Wed, 30 Jun 1999 18:52:29 +0100 (BST)
  10. From: =?iso-8859-1?q?Claude=20Heiland-Allen?= <cheilandallen@yahoo.co.uk>
  11. To: amos-list@onelist.com
  12. Mailing-List: list amos-list@onelist.com; contact amos-list-owner@onelist.com
  13. Delivered-To: mailing list amos-list@onelist.com
  14. Precedence: bulk
  15. List-Unsubscribe: <mailto:amos-list-unsubscribe@ONElist.com>
  16. Reply-to: amos-list@onelist.com
  17. Mime-Version: 1.0
  18. Content-Type: text/plain; charset=iso-8859-1
  19. Content-Transfer-Encoding: 8bit
  20. Subject: Re: [amos-list] Seemingly easy task...
  21. Status: O
  22. X-Status: 
  23.  
  24. From: =?iso-8859-1?q?Claude=20Heiland-Allen?= <cheilandallen@yahoo.co.uk>
  25.  
  26. Hi
  27.  
  28. I found the algorithm for drawing a circle, here it is
  29. in
  30. pseudo-code.  I haven't actually tested this, but it
  31. should
  32. work.  It is Michener's algorithm, from
  33.  
  34. "Fundamentals of Interactive Computer Graphics"
  35. (c) 1982-3 J D Foley, A van Dam.
  36.  
  37. (This book has everything - from low level line
  38. drawing up
  39. to raytracing.)
  40.  
  41. All variables are integers.  Just don't ask me how the
  42. thing
  43. actually works...
  44.  
  45. -->8--------------------------------------------------------
  46.  
  47. procedure circle(cx, cy, radius, pen)
  48.     // consider the first 1/8 of the circle
  49.     x = 0
  50.     y = radius
  51.     d = 3 - 2 * radius
  52.     while x < y
  53.         circlepoints(cx, cy, x, y, pen)
  54.         if d < 0
  55.             d = d + 4 * x + 6
  56.         else
  57.             d = d + 4 * (x - y) + 10
  58.             y = y - 1
  59.         endif
  60.         x = x + 1
  61.     endwhile
  62.     if x = y then circlepoints(cx, cy, x, y, pen)
  63. endprocedure
  64.  
  65. procedure circlepoints(cx, cy, x, y, pen)
  66.     // plot 8 points on the circle, by symmetry
  67.     plot(cx + x, cy + y, pen)
  68.     plot(cx + x, cy - y, pen)
  69.     plot(cx - x, cy + y, pen)
  70.     plot(cx - x, cy - y, pen)
  71.     plot(cx + y, cy + x, pen)
  72.     plot(cx + y, cy - x, pen)
  73.     plot(cx - y, cy + x, pen)
  74.     plot(cx - y, cy - x, pen)
  75. endprocedure
  76.  
  77. -->8--------------------------------------------------------
  78.  
  79. Anyway, why do you need to draw circles?  Why not use
  80. the OS
  81. functions directly - they should be the fastest.
  82.  
  83. Good luck anyway.
  84.  
  85. Claude
  86.  
  87.  
  88. _____________________________________________________________
  89. DO YOU YAHOO!?
  90. Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
  91.  
  92.  
  93. --------------------------- ONElist Sponsor ----------------------------
  94.  
  95. Campaign 2000 is here!
  96. http://www.onelist.com
  97. Discuss your thoughts; get informed at ONElist.  See our homepage.
  98.  
  99. ------------------------------------------------------------------------
  100. Official AMOS WWW: http://members.xoom.com/AmosFactory/front.html